package com.itheima.service;

import com.itheima.entity.PageResult;
import com.itheima.entity.QueryPageBean;
import com.itheima.pojo.Role;
import com.itheima.pojo.SysUser;


import java.util.List;
import java.util.Map;

public interface UserService {
	/**
	 * 用户登录
	 * @param username 用户名
	 * @param password 密 码
	 * @return
	 */
	boolean login(String username,String password);

	/**
	 * 根据用户名获取用户信息
	 * @param username
	 * @return
	 */
	SysUser findByUsername(String username);

	/**
	 * 添加用户数据
	 * @param sysUser 用户数据基本信息
	 * @param roleIds 角色ID列表
	 */
	public void add(SysUser sysUser,Integer[] roleIds);

	/**
	 * 分页查询
	 * @param queryPageBean 分页参数
	 * @return
	 */
	PageResult findPage(QueryPageBean queryPageBean);

	/**
	 * 基于ID，删除权限数据
	 * @param id
	 */
	void delById(Integer id);
	/**
	 * 基于ID，获取数据
	 * @param id ID
	 * @return 对象
	 */
	SysUser findById(Integer id);

	List<Integer> findroleIdsById(Integer id);

	/**
	 * 编辑用户数据
	 * @param sysUser 检查基本数据
	 * @param roleIds 用户数据选择列表
	 */
	public void edit(SysUser sysUser,Integer[] roleIds);

	List<Role> findAll();

	List<Map<String, Object>> getShowMenu(String username);
}